Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Karplus–Strong string synthesis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Karplus%E2%80%93Strong_string_synthesis"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.tmh.player.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Karplus–Strong_string_synthesis rootpage-Karplus–Strong_string_synthesis skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Karplus–Strong string synthesis</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1305433154">
/* start https://en.wikipedia.org/ */


.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style>
<p><b>Karplus–Strong string synthesis</b> is a method of <a href="Physical_modelling_synthesis" title="Physical modelling synthesis">physical modelling synthesis</a> that loops a short waveform through a filtered delay line to simulate the sound of a hammered or plucked <a href="String_instrument" title="String instrument">string</a> or some types of <a href="Percussion_instrument" title="Percussion instrument">percussion</a>.
</p><p>At first glance, this technique can be viewed as <a href="Subtractive_synthesis" title="Subtractive synthesis">subtractive synthesis</a> based on a <a href="Feedback_loop" class="mw-redirect" title="Feedback loop">feedback loop</a> similar to that of a <a href="Comb_filter" title="Comb filter">comb filter</a> for <a href="Z-transform" title="Z-transform">z-transform</a> analysis. However, it can also be viewed as the simplest class of <a href="Table-lookup_synthesis" class="mw-redirect" title="Table-lookup synthesis">wavetable</a>-modification algorithms now known as <a href="Digital_waveguide_synthesis" title="Digital waveguide synthesis">digital waveguide synthesis</a>, because the delay line acts to store one period of the signal.
</p><p>Alexander Strong invented the algorithm, and <a href="Kevin_Karplus" title="Kevin Karplus">Kevin Karplus</a> did the first analysis of how it worked. Together they developed software and hardware implementations of the algorithm, including a custom <a href="VLSI" class="mw-redirect" title="VLSI">VLSI</a> chip. They named the algorithm "Digitar" synthesis, as a <a href="Portmanteau" class="mw-redirect" title="Portmanteau">portmanteau</a> for "digital guitar".
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="How_it_works">How it works</h2></div>

<p><br>
</p>
<ol><li>A short excitation waveform (of length L samples) is generated. In the original algorithm, this was a burst of <a href="White_noise" title="White noise">white noise</a>, but it can also include any <a href="Wideband" title="Wideband">wideband</a> signal, such as a rapid <a href="Sine_wave" title="Sine wave">sine wave</a> <a href="Chirp" title="Chirp">chirp</a> or frequency sweep, or a single cycle of a <a href="Sawtooth_wave" title="Sawtooth wave">sawtooth wave</a> or <a href="Square_wave_(waveform)" title="Square wave (waveform)">square wave</a>.</li>
<li>This excitation is output and simultaneously fed back into a <a href="Analog_delay_line" title="Analog delay line">delay line</a> L samples long.</li>
<li>The output of the delay line is fed through a <a href="Audio_filter" title="Audio filter">filter</a>. The <a href="Gain_(electronics)" title="Gain (electronics)">gain</a> of the filter must be less than 1 at all frequencies, to maintain a stable <a href="Positive_feedback" title="Positive feedback">positive feedback</a> loop. The filter can be a first-order lowpass filter (as pictured). In the original algorithm, the filter consisted of averaging two adjacent samples, a particularly simple filter that can be implemented without a multiplier, requiring only shift and add operations. The filter characteristics are crucial in determining the harmonic structure of the decaying tone.</li>
<li>The filtered output is simultaneously mixed into the output and fed back into the delay line.</li></ol>
<div class="mw-heading mw-heading2"><h2 id="Tuning_the_string">Tuning the string</h2></div>
<p>The <a href="Fundamental_frequency" title="Fundamental frequency">fundamental frequency</a> (specifically, the lowest nonzero resonant frequency) of the resulting signal is the lowest frequency at which the unwrapped phase response of the delay and filter in cascade is <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle -2\pi }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo>−<!-- − --></mo>
<mn>2</mn>
<mi>π<!-- π --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle -2\pi }</annotation>
</semantics>
</math></span><img src="./6565511f35e075d5f1054dcc82d91eb7548081d4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:4.303ex; height:2.343ex;" alt="{\displaystyle -2\pi }" loading="lazy"></span>. The required <a href="Phase_delay" class="mw-redirect" title="Phase delay">phase delay</a> <i>D</i> for a given fundamental frequency <i>F</i><sub>0</sub> is therefore calculated according to <i>D</i> = <i>F</i><sub><i>s</i></sub>/<i>F</i><sub>0</sub> where <i>F</i><sub><i>s</i></sub> is the sampling frequency.
</p><p>The length of any digital delay line is a whole-number multiple of the sampling period. In order to obtain a <a href="Digital_delay_line" title="Digital delay line">fractional delay</a> often needed for fine tuning the string below JND (<a href="Just-noticeable_difference" title="Just-noticeable difference">Just Noticeable Difference</a>), <a href="Interpolation" title="Interpolation">interpolating filters</a> are used with parameters selected to obtain an appropriate phase delay at the fundamental frequency. Either <a href="Infinite_impulse_response" title="Infinite impulse response">IIR</a> or <a href="Finite_Impulse_Response" class="mw-redirect" title="Finite Impulse Response">FIR</a> filters may be used, but FIR have the advantage that transients are suppressed if the fractional delay is changed over time. The most elementary fractional delay is the <a href="Linear_interpolation" title="Linear interpolation">linear interpolation</a> between two samples (e.g., <i>s</i>(4.2) = 0.8<i>s</i>(4) + 0.2<i>s</i>(5)). If the phase delay varies with frequency, <a href="Harmonic" title="Harmonic">harmonics</a> may be sharpened or flattened relative to the fundamental frequency. The original algorithm used equal weighting on two adjacent samples, as this can be achieved without multiplication hardware, allowing extremely cheap implementations.
</p><p><a href="Z-transform" title="Z-transform">Z-transform</a> analysis can be used to get the pitches and decay times of the harmonics more precisely, as explained in the 1983 paper that introduced the algorithm.
</p><p>A demonstration of the Karplus-Strong algorithm can be heard in the following <a href="Vorbis" title="Vorbis">Vorbis</a> file. The algorithm used a loop gain of 0.98 with increasingly attenuating first order lowpass filters. The pitch of the note was A2, or 220&nbsp;Hz.
</p>
<style data-mw-deduplicate="TemplateStyles:r1290876196">
/* start https://en.wikipedia.org/ */


.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .infobox .side-box{font-size:100%}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1290232777">
/* start https://en.wikipedia.org/ */


.mw-parser-output .listen .side-box-text{line-height:1.1em}.mw-parser-output .listen-plain{border:none;background:transparent}.mw-parser-output .listen-embedded{width:100%;margin:0;border-width:1px 0 0 0;background:transparent}.mw-parser-output .listen-header{padding:2px}.mw-parser-output .listen-embedded .listen-header{padding:2px 0}.mw-parser-output .listen-file-header{padding:4px 0}.mw-parser-output .listen .description{padding-top:2px}.mw-parser-output .listen .mw-tmh-player{max-width:100%}@media(max-width:719px){.mw-parser-output .listen{clear:both}}@media(min-width:720px){.mw-parser-output .listen:not(.listen-noimage){width:320px}.mw-parser-output .listen-left{overflow:visible;float:left}.mw-parser-output .listen-center{float:none;margin-left:auto;margin-right:auto}}


/* end https://en.wikipedia.org/ */
</style>
<p>Holding the period (= length of the delay line) constant produces vibrations similar to those of a string or bell. Increasing the period sharply after the transient input produces drum-like sounds.
</p>
<div class="mw-heading mw-heading2"><h2 id="Refinements_to_the_algorithm">Refinements to the algorithm</h2></div>
<p>Due to its plucked-string sound in certain modes, Alex Strong and <a href="Kevin_Karplus" title="Kevin Karplus">Kevin Karplus</a> conjectured that the Karplus-Strong (KS) algorithm was in some sense a vibrating string simulation, and they worked on showing that it solved the wave equation for the vibrating string, but this was not completed.<sup id="cite_ref-KarplusStrong1983_1-0" class="reference"><a href="#cite_note-KarplusStrong1983-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> <a href="Julius_O._Smith_III" class="mw-redirect" title="Julius O. Smith III">Julius O. Smith III</a> <a rel="nofollow" class="external autonumber" href="http://ccrma.stanford.edu/~jos/">[1]</a> recognized that the transfer-function of the KS, when viewed as a digital filter, coincided with that of a vibrating string, with the filter in the feedback loop representing the total string losses over one period.<sup id="cite_ref-Smith1983_2-0" class="reference"><a href="#cite_note-Smith1983-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> He later derived the KS algorithm as a special case of <a href="Digital_waveguide_synthesis" title="Digital waveguide synthesis">digital waveguide synthesis</a>, which was used to model acoustic waves in strings, tubes, and membranes. The first set of extensions and generalizations of the Karplus-Strong Algorithm, typically known as the Extended Karplus-Strong (EKS) Algorithm, was presented in a paper in 1982 at the International Computer Music Conference in Venice, Italy, and published in more detail in 1983 in Computer Music Journal in an article entitled "Extensions of the Karplus Strong Plucked String Algorithm," by David A. Jaffe and Julius O. Smith,<sup id="cite_ref-JaffeSmith1983_3-0" class="reference"><a href="#cite_note-JaffeSmith1983-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> and in Smith's PhD/EE dissertation.<sup id="cite_ref-Smith1983_2-1" class="reference"><a href="#cite_note-Smith1983-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p>Alex Strong developed a superior <a href="Table-lookup_synthesis" class="mw-redirect" title="Table-lookup synthesis">wavetable</a>-modification method for plucked-string synthesis, but only published it as a patent.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Musical_applications">Musical applications</h2></div>
<p>The first musical use of the algorithm was in the work <i>May All Your Children Be Acrobats</i> written in 1981 by <a href="David_A._Jaffe" title="David A. Jaffe">David A. Jaffe</a>, and scored for eight guitars, mezzo-soprano and computer-generated stereo tape, with a text based on <a href="Carl_Sandburg" title="Carl Sandburg">Carl Sandburg</a>'s <i>The People, Yes</i>. Jaffe continued to explore the musical and technical possibilities of the algorithm in <i>Silicon Valley Breakdown</i>, for computer-generated plucked strings (1982), as well as in later works such as <i>Telegram to the President, 1984</i> for string quartet and tape, and <i>Grass</i> for female chorus and tape (1987).
</p><p>The patent was licensed first to Mattel Electronics, which failed as a company before any product using the algorithm was developed, then to a startup company founded by some of the laid-off Mattel executives. They never got sufficient funding to finish development, and so never brought a product to market either. Eventually Yamaha licensed the patent, as part of the Sondius package of patents from Stanford. It is unknown whether any hardware using the algorithm was ever sold, though many software implementations (which did not pay any license fees to the inventors) have been released.
</p><p>While they may not adhere strictly to the algorithm, many hardware components for modular systems have been commercially produced that invoke the basic principles of Karplus-Strong Synthesis: using an inverted, scaled control system for very small time values in a filtered delay line to create playable notes in the Western Tempered tuning system, controlled with volt per octave tracking or MIDI data. The Inventors were not specifically credited, though the term "Karplus-Strong Synthesis" is referenced in some of the manuals.
</p><p>Hardware components capable of Karplus-Strong style synthesis include the Moog Clusterflux 108M, Mutable Instruments Elements and Rings, 4ms Company Dual Looping Delay, 2HP Pluck, Make Noise Mimeophon, <a href="Arturia_MicroFreak" title="Arturia MicroFreak">Arturia MicroFreak</a>, Non Linear Circuits Is Carp Lust Wrong?, and the Strymon Starlab.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Digital_delay_line" title="Digital delay line">Digital delay line</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<dl><dt>Citations</dt></dl>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-KarplusStrong1983-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-KarplusStrong1983_1-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFKarplusStrong1983">Karplus &amp; Strong 1983</a></span>
</li>
<li id="cite_note-Smith1983-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-Smith1983_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Smith1983_2-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><span class="noviewer" typeof="mw:File"><span></span></span>&nbsp;This article incorporates text from a publication now in the <a href="Public_domain" title="Public domain">public domain</a>:&nbsp;<style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFSmith1870" class="citation encyclopaedia cs1"><a href="William_Smith_(lexicographer)" title="William Smith (lexicographer)">Smith, William</a>, ed. (1870). <i><a href="Dictionary_of_Greek_and_Roman_Antiquities" class="mw-redirect" title="Dictionary of Greek and Roman Antiquities">Dictionary of Greek and Roman Antiquities</a></i>. London: John Murray.</cite> <span class="cs1-visible-error citation-comment"><code class="cs1-code">{{cite encyclopedia}}</code>: </span><span class="cs1-visible-error citation-comment">Missing or empty <code class="cs1-code">|title=</code> (help)</span></span>
</li>
<li id="cite_note-JaffeSmith1983-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-JaffeSmith1983_3-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFJaffeSmith1983">Jaffe &amp; Smith 1983</a></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://patents.google.com/?inventor=Alexander+R.+Strong">"inventor:(Alexander R. Strong)"</a>. <i>Google Patents</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2019-07-17</span></span>.</cite></span>
</li>
</ol></div></div>
<dl><dt>Bibliography</dt></dl>
<ul><li><cite id="CITEREFKarplusStrong1983" class="citation journal cs1">Karplus, Kevin; Strong, Alex (1983). "Digital Synthesis of Plucked String and Drum Timbres". <i><a href="Computer_Music_Journal" title="Computer Music Journal">Computer Music Journal</a></i>. <b>7</b> (2). MIT Press: <span class="nowrap">43–</span>55. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.2307%2F3680062">10.2307/3680062</a>. <a href="JSTOR_(identifier)" class="mw-redirect" title="JSTOR (identifier)">JSTOR</a>&nbsp;<a rel="nofollow" class="external text" href="https://www.jstor.org/stable/3680062">3680062</a>.</cite></li></ul>
<ul><li><cite id="CITEREFJaffeSmith1983" class="citation journal cs1">Jaffe, David A.; Smith, Julius O. (1983). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20191212201016/http://static1.1.sqspcdn.com/static/f/1195073/15927045/1326030818550/Jaffe-Smith-Extensions-CMJ-1983.pdf%3Ftoken%3DjBAicC7FH9EIwp3LPLGs7NE%252BOjo%253D">"Extensions of the Karplus-Strong Plucked String Algorithm"</a>. <i><a href="Computer_Music_Journal" title="Computer Music Journal">Computer Music Journal</a></i>. <b>7</b> (2). MIT Press: <span class="nowrap">56–</span>69. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.2307%2F3680063">10.2307/3680063</a>. <a href="JSTOR_(identifier)" class="mw-redirect" title="JSTOR (identifier)">JSTOR</a>&nbsp;<a rel="nofollow" class="external text" href="https://www.jstor.org/stable/3680063">3680063</a>. Archived from <a rel="nofollow" class="external text" href="http://static1.1.sqspcdn.com/static/f/1195073/15927045/1326030818550/Jaffe-Smith-Extensions-CMJ-1983.pdf?token=jBAicC7FH9EIwp3LPLGs7NE%2BOjo%3D">the original</a> <span class="cs1-format">(PDF)</span> on 2019-12-12<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-08-13</span></span>.</cite></li></ul>
<ul><li><cite id="CITEREFSmith1983" class="citation thesis cs1">Smith, Julius O. (1983). <i>Techniques for Digital Filter Design and System Identification, with Application to the Violin</i> (PhD/EE). Stanford University.</cite></li></ul>
<ul><li><style data-mw-deduplicate="TemplateStyles:r1041539562">
/* start https://en.wikipedia.org/ */


.mw-parser-output .citation{word-wrap:break-word}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}


/* end https://en.wikipedia.org/ */
</style><span class="citation patent" id="CITEREFUS_application_4649783"><a rel="nofollow" class="external text" href="https://worldwide.espacenet.com/textdoc?DB=EPODOC&amp;IDX=US4649783">US application 4649783</a>, Alexander R. Strong, Kevin J. Karplus, "<a rel="nofollow" class="external text" href="https://patents.google.com/patent/US4649783A">Wavetable Modification Instrument and Method for Generating Musical Sound</a>", published 1987-03-17</span><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Apatent&amp;rft.applnumber=4649783&amp;rft.cc=US&amp;rft.title=%5Bhttps%3A%2F%2Fpatents.google.com%2Fpatent%2FUS4649783A+Wavetable+Modification+Instrument+and+Method+for+Generating+Musical+Sound%5D&amp;rft.inventor=Alexander+R.+Strong%2C+Kevin+J.+Karplus&amp;rft.appldate=1984-05-24&amp;rft.pubdate=1987-03-17"><span style="display: none;">&nbsp;</span></span></li></ul>
<ul><li><span class="citation patent" id="CITEREFUS_application_4622877"><a rel="nofollow" class="external text" href="https://worldwide.espacenet.com/textdoc?DB=EPODOC&amp;IDX=US4622877">US application 4622877</a>, Alexander R. Strong, "<a rel="nofollow" class="external text" href="https://patents.google.com/patent/US4622877A">Independently controlled wavetable-modification instrument and method for generating musical sound</a>", published 1986-11-18</span><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Apatent&amp;rft.applnumber=4622877&amp;rft.cc=US&amp;rft.title=%5Bhttps%3A%2F%2Fpatents.google.com%2Fpatent%2FUS4622877A+Independently+controlled+wavetable-modification+instrument+and+method+for+generating+musical+sound%5D&amp;rft.inventor=Alexander+R.+Strong&amp;rft.pubdate=1986-11-18"><span style="display: none;">&nbsp;</span></span></li></ul>
<ul><li><cite id="CITEREFMoore1990" class="citation book cs1">Moore, F. Richard (1990). <i>Elements of Computer Music</i>. Upper Saddle River: Prentice-Hall. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>0-13-252552-6</bdi>.</cite></li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://ccrma.stanford.edu/~jos/pasp/Karplus_Strong_Algorithm.html">The Karplus-Strong Algorithm</a></li>
<li><a rel="nofollow" class="external text" href="http://ccrma.stanford.edu/~jos/Mohonk05/Karplus_Strong_Algorithm.html">Sound Examples</a></li>
<li><a rel="nofollow" class="external text" href="http://www.freesound.org/browse/tags/karplus-strong/">More sound examples under CC license</a></li>
<li><a rel="nofollow" class="external text" href="http://amid.fish/javascript-karplus-strong">A HTML5 port of the above application</a></li>
<li><a rel="nofollow" class="external text" href="http://www.jaffe.com">David A. Jaffe's music, including sound examples</a></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Sound_synthesis_types519" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="Sound_synthesis_types519" style="font-size:114%;margin:0 4em"><a href="Synthesizer" title="Synthesizer">Sound synthesis</a> types</div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><a href="Frequency_modulation_synthesis" title="Frequency modulation synthesis">Frequency modulation</a></li>
<li><a href="Linear_arithmetic_synthesis" title="Linear arithmetic synthesis">Linear arithmetic</a></li>
<li><a href="Phase_distortion_synthesis" title="Phase distortion synthesis">Phase distortion</a></li>
<li><a href="Scanned_synthesis" title="Scanned synthesis">Scanned</a></li>
<li><a href="Subtractive_synthesis" title="Subtractive synthesis">Subtractive</a></li>
<li><a href="Additive_synthesis" title="Additive synthesis">Additive</a></li>
<li><a href="Distortion_synthesis" title="Distortion synthesis">Distortion</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Sample-based_synthesis" title="Sample-based synthesis">Sample-based</a> or <a href="Sampler_(musical_instrument)" title="Sampler (musical instrument)">Sampler</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Wavetable_synthesis" title="Wavetable synthesis">Wavetable</a></li>
<li><a href="Granular_synthesis" title="Granular synthesis">Granular</a></li>
<li><a href="Vector_synthesis" title="Vector synthesis">Vector</a></li>
<li><a href="Concatenative_synthesis" title="Concatenative synthesis">Concatenative</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Physical_modelling_synthesis" title="Physical modelling synthesis">Physical modelling</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Banded_waveguide_synthesis" title="Banded waveguide synthesis">Banded waveguide</a></li>
<li><a href="Digital_waveguide_synthesis" title="Digital waveguide synthesis">Digital waveguide</a></li>
<li><a href="Direct_digital_synthesizer" class="mw-redirect" title="Direct digital synthesizer">Direct digital</a></li>
<li><a href="Formant_synthesis" class="mw-redirect" title="Formant synthesis">Formant</a></li>
</ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Analog_synthesizer" title="Analog synthesizer">Analog synthesizer</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Graphical_sound" title="Graphical sound">Graphical sound</a></li>
<li><a href="Modular_synthesizer" title="Modular synthesizer">Modular</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Digital_synthesizer" title="Digital synthesizer">Digital synthesizer</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Analog_modeling_synthesizer" title="Analog modeling synthesizer">Analog modeling</a></li>
<li><a href="Scanned_synthesis" title="Scanned synthesis">Scanned synthesis</a></li>
<li><a href="Software_synthesizer" title="Software synthesizer">Software synthesizer</a></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-03-29" href="https://en.wikipedia.org/wiki/?title=Karplus%E2%80%93Strong_string_synthesis&amp;oldid=1282888787">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>